;--------------------------------------------------------
; File Created by ChiponCC : ChipON  inc.
;--------------------------------------------------------
; chipon port for the 16-bit core
;--------------------------------------------------------
;	.file	"../debug_touch.c"
	.radix dec
	.include "KF8TS2716.inc"
;--------------------------------------------------------
; external declarations
;--------------------------------------------------------
	.extern	_init_mcu
	.extern	__KF8TS27_Get_Ver_Slide_W_
	.extern	__KF8TS27_Init_Touch_Slide_W_
	.extern	__KF8TS27_Touch_Process_Slide_W_
	.extern	__KF8TS27_Touch_TEST_Slide_W_
	.extern	__KF8TS27_Lib_Set_Slide_W_Parameter
	.extern	_Write_cd4094
	.extern	_LCD1602_Init
	.extern	_LCD1602_Clear
	.extern	_LCD1602_setxy
	.extern	_LCD1602_PrintString
	.extern	_LCD1602_PrintInteger
	.extern	_LCD1602_PrintHEX
	.extern	_LCD1602_PrintHEX_TWO
	.extern	_delay_ms
	.extern	_delay_us
	.extern	__R2PCL
	.extern	_TOUCH_DEBUG_SEND_OUT
	.extern	_STKR0
	.extern	_STK00
	.extern	_STK01
	.extern	_STK02
	.extern	_STK03
	.extern	_STK04
	.extern	_STK05
	.extern	_STK06
	.extern	_STK07
	.extern	_STK08
	.extern	_STK09
	.extern	_STK10
	.extern	_STK11
	.extern	_PSW_bits
	.extern	_P0_bits
	.extern	_P2_bits
	.extern	_P1_bits
	.extern	_P3_bits
	.extern	_INTCTL_bits
	.extern	_EIF1_bits
	.extern	_EIF2_bits
	.extern	_T1CTL_bits
	.extern	_PWMCTL_bits
	.extern	_BANK_bits
	.extern	_ADSCANCTL_bits
	.extern	_VDACS_bits
	.extern	_ANSEH_bits
	.extern	_ADCCTL0_bits
	.extern	_OPTR_bits
	.extern	_IP0_bits
	.extern	_IP1_bits
	.extern	_IP2_bits
	.extern	_TR0_bits
	.extern	_TR2_bits
	.extern	_TR1_bits
	.extern	_OSCSTA_bits
	.extern	_IP3_bits
	.extern	_VRECTL_bits
	.extern	_EIE1_bits
	.extern	_EIE2_bits
	.extern	_PCTL_bits
	.extern	_OSCCTL_bits
	.extern	_ANSEL_bits
	.extern	_PUR0_bits
	.extern	_IOCL_bits
	.extern	_ADCCTL1_bits
	.extern	_P0LR_bits
	.extern	_P2LR_bits
	.extern	_P1LR_bits
	.extern	_P3LR_bits
	.extern	_TR3_bits
	.extern	_EIE3_bits
	.extern	_EIF3_bits
	.extern	_T3CTL_bits
	.extern	_CTCTL0_bits
	.extern	_PUR1_bits
	.extern	_PUR2_bits
	.extern	_CTCTL1_bits
	.extern	_INTEDGCTL_bits
	.extern	_VBIASCTL_bits
	.extern	_VBIAS1EN_bits
	.extern	_VBIAS2EN_bits
	.extern	_VDAC_bits
	.extern	_RSCTL_bits
	.extern	_BRCTL_bits
	.extern	_TSCTL_bits
	.extern	_SSCICTL0_bits
	.extern	_SSCICTL1_bits
	.extern	_SSCISTA_bits
	.extern	_SSCIMSK_bits
	.extern	_WDTPS_bits
	.extern	_LEDCTL_bits
	.extern	_LEDPRE_bits
	.extern	_LEDDATA0_bits
	.extern	_LEDDATA1_bits
	.extern	_LEDDATA2_bits
	.extern	_LEDDATA3_bits
	.extern	_LEDDATA4_bits
	.extern	_LEDDATA5_bits
	.extern	_LEDDATA6_bits
	.extern	_LEDDATA7_bits
	.extern	_LEDOMS1_bits
	.extern	_LEDODS0_bits
	.extern	_LEDOMS0_bits
	.extern	_LEDODS1_bits
	.extern	_LEDLUM_bits
	.extern	_T4CTL_bits
	.extern	__KF8_LIBi_channel_flag_
	.extern	__KF8_LIBi_Slide_Press_Flag
	.extern	__KF8_LIBi_Slide_channel_out_
	.extern	__KF8_LIBi_Slide_distance_out_
	.extern	__KF8_LIBc_channel_
	.extern	__KF8_LIBi_Date_Change_
	.extern	__KF8_LIBc_baseline_count_
	.extern	__KF8_LIBi_buff_hit_
	.extern	__KF8_LIBi_buff_baseline_
	.extern	__KF8_LIBc_touch_count_
	.extern	__KF8_lib_Slide_Finded_MAX_I_T27_SW_
	.extern	__KF8_lib_Slide_Finded_MAX_I_Buf_T27_SW_
	.extern	__KF8_LIBi_Slide_round_count_
	.extern	__KF8_LIBi_Slide_channel_back_
	.extern	_sentbuf1
	.extern	_sentbuf2
	.extern	_sentbuf3
	.extern	_sentbuf4
	.extern	_CHS_AMOUNT
	.extern	_SLIDE_AMOUNT
	.extern	_TCS_AMOUNT
	.extern	_TCS_Slide_AMOUNT
	.extern	__KF8_Disturb_Protect_Circle_
	.extern	__KF8_DoubleKey_Compages_Limitable_Circle_
	.extern	__KF8_Key_Max_Pressed_Limitable_Circle_
	.extern	__KF8_BaseLine_Update_Circle_Count_For_UP_
	.extern	__KF8_BaseLine_Update_Circle_Count_For_Down_
	.extern	__KF8_Define_Disturb_Channels_Amount_
	.extern	__KF8_BasicLine_UP_Noise_Threshold_
	.extern	__KF8_BasicLine_Down_Noise_Threshold_
	.extern	__KF8_Data_Steady_Threshold_Set_
	.extern	__KF8_Inside_Reference_Channel_Disturb_Threshold_Set_
	.extern	__KF8_Inside_Reference_Channel_Declare_
	.extern	__KF8_TOUCH_CH_EN
	.extern	__SLIDE_DISTRIBUTION
	.extern	__SLIDE_RESOLUTION
	.extern	__SLIDE_SINGLE_RESOLUTION
	.extern	__SLIDE_OFFSET
	.extern	__KF8_Config_Finger_Threshold
	.extern	__KF8_Config_Finger_Threshold_In_Disturb_
	.extern	_T0
	.extern	_PCL
	.extern	_PSW
	.extern	_P0
	.extern	_P2
	.extern	_P1
	.extern	_P3
	.extern	_PCH
	.extern	_INTCTL
	.extern	_EIF1
	.extern	_EIF2
	.extern	_T1L
	.extern	_T1H
	.extern	_T1CTL
	.extern	_PWM1L
	.extern	_PWM1H
	.extern	_PWMCTL
	.extern	_PP1
	.extern	_BANK
	.extern	_ADSCANCTL
	.extern	_VDACS
	.extern	_ANSEH
	.extern	_ADCDATA0H
	.extern	_ADCCTL0
	.extern	_OPTR
	.extern	_IP0
	.extern	_IP1
	.extern	_IP2
	.extern	_TR0
	.extern	_TR2
	.extern	_TR1
	.extern	_OSCSTA
	.extern	_IP3
	.extern	_VRECAL1
	.extern	_VRECTL
	.extern	_EIE1
	.extern	_EIE2
	.extern	_PCTL
	.extern	_OSCCTL
	.extern	_OSCCAL0
	.extern	_ANSEL
	.extern	_PP2
	.extern	_PWM2L
	.extern	_PWM2H
	.extern	_PUR0
	.extern	_IOCL
	.extern	_OSCCAL1
	.extern	_NVMDATAH
	.extern	_NVMDATAL
	.extern	_NVMADDRH
	.extern	_NVMADDRL
	.extern	_NVMCTL0
	.extern	_NVMCTL1
	.extern	_ADCDATA0L
	.extern	_ADCCTL1
	.extern	_P0LR
	.extern	_P2LR
	.extern	_P1LR
	.extern	_P3LR
	.extern	_TR3
	.extern	_EIE3
	.extern	_EIF3
	.extern	_OSCCAL2
	.extern	_OSCCAL3
	.extern	_T3CTL
	.extern	_T3L
	.extern	_CTCTL0
	.extern	_T3H
	.extern	_PUR1
	.extern	_PUR2
	.extern	_CTCTL1
	.extern	_INTEDGCTL
	.extern	_VBIASCTL
	.extern	_VBIAS1EN
	.extern	_VBIAS2EN
	.extern	_VDAC
	.extern	_RSCTL
	.extern	_TXSDR
	.extern	_RXSDR
	.extern	_BRCTL
	.extern	_TSCTL
	.extern	_EUBRGL
	.extern	_EUBRGH
	.extern	_SSCICTL0
	.extern	_SSCICTL1
	.extern	_SSCISTA
	.extern	_SSCIBUFR
	.extern	_SSCIMSK
	.extern	_WDTPS
	.extern	_LEDCTL
	.extern	_LEDPRE
	.extern	_LEDDATA0
	.extern	_LEDDATA1
	.extern	_LEDDATA2
	.extern	_LEDDATA3
	.extern	_LEDDATA4
	.extern	_LEDDATA5
	.extern	_LEDDATA6
	.extern	_LEDDATA7
	.extern	_LEDOMS1
	.extern	_LEDODS0
	.extern	_LEDOMS0
	.extern	_LEDODS1
	.extern	_VRECAL2
	.extern	_VRECAL3
	.extern	_LEDLUM
	.extern	_T4L
	.extern	_T4H
	.extern	_T4REL
	.extern	_T4REH
	.extern	_T4CTL
	.extern	_RC32KCAL

	.extern I0R1
	.extern I0R7
	.extern I0PSW
	.extern I0PCH
	.extern I1R1
	.extern I1R7
	.extern I1PSW
	.extern I1PCH
	.extern STK11
	.extern STK10
	.extern STK09
	.extern STK08
	.extern STK07
	.extern STK06
	.extern STK05
	.extern STK04
	.extern STK03
	.extern STK02
	.extern STK01
	.extern STK00
;--------------------------------------------------------
; global declarations
;--------------------------------------------------------
	.global	_TOUCH_DEBUG_TRS_DEAL
	.global	_TOUCH_CH_TRS_EN
	.define _STK11	STK11
	.define _STK10	STK10
	.define _STK09	STK09
	.define _STK08	STK08
	.define _STK07	STK07
	.define _STK06	STK06
	.define _STK05	STK05
	.define _STK04	STK04
	.define _STK03	STK03
	.define _STK02	STK02
	.define _STK01	STK01
	.define _STK00	STK00

;--------------------------------------------------------
; global definitions
;--------------------------------------------------------
UD_debug_touch_0	.udata
_T_buf	.res	1

UD_debug_touch_1	.udata
_i_T_D	.res	1

;--------------------------------------------------------
; absolute symbol definitions
;--------------------------------------------------------
;--------------------------------------------------------
; compiler-defined variables
;--------------------------------------------------------
UDL_debug_touch_0	.udata
r0x1002	.res	1
UDL_debug_touch_1	.udata
r0x1003	.res	1
;--------------------------------------------------------
; initialized data
;--------------------------------------------------------

ID_debug_touch_0	.idata
_TOUCH_CH_TRS_EN
	.db	0x00
	.db	0x00
	.db	0x00
	.db	0x00
	.db	0x00
	.db	0x00
	.db	0x00
	.db	0x00
	.db	0x00
	.db	0x00
	.db	0x00
	.db	0x00
	.db	0x00
	.db	0x00
	.db	0x00
	.db	0x00
	.db	0x00
	.db	0x00
	.db	0x00
	.db	0x00
	.db	0x00
	.db	0x00

;--------------------------------------------------------
; overlayable items in internal ram 
;--------------------------------------------------------
;	.udata_ovr


func._TOUCH_DEBUG_TRS_DEAL	.code
;***
;  PostBlock Stats: dbName = C
;***
;entry:  _TOUCH_DEBUG_TRS_DEAL	;Function start
; 2 exit points
;has an exit
;functions called:
;   _delay_us
;   _delay_us
;   _delay_us
;   _delay_us
;   _delay_us
;   _delay_us
;   _delay_us
;   _delay_us
;   _delay_us
;   _delay_us
;   _delay_us
;   _delay_us
;   _delay_us
;   _delay_us
;   _delay_us
;   _delay_us
;   _delay_us
;   _delay_us
;   _delay_us
;   _delay_us
;   _delay_us
;   _delay_us
;   _delay_us
;   _delay_us
;   _delay_us
;   _delay_us
;   _delay_us
;   _delay_us
;   _delay_us
;   _delay_us
;   _delay_us
;   _delay_us
;3 compiler assigned registers:
;   STK00
;   r0x1002
;   r0x1003
;; Starting PostCode block
;	::->op : LABEL
;	::->op : FUNCTION
_TOUCH_DEBUG_TRS_DEAL	;Function start
; 2 exit points
;	::->op : INLINEASM
	MOV R1,#High(__KF8_TOUCH_CH_EN+0)
	MOV R0,#(0)
	ADD R0,#Low(__KF8_TOUCH_CH_EN+0)
	JNB PSW,0
	INC R1
	PAGESEL __R2PCL
	CALL __R2PCL
	PAGESEL $
	ADD R0,#(_TOUCH_CH_TRS_EN+0)
	MOV R1,#0x01
	BANKSEL _TOUCH_CH_TRS_EN
	ST [R0],R1
	
;	::->op : INLINEASM
	BANKSEL __KF8_LIBc_channel_
	MOV R0,__KF8_LIBc_channel_
	ADD R0,#Low(__KF8_TOUCH_CH_EN+0)
	MOV R1,#High(__KF8_TOUCH_CH_EN+0)
	JNB PSW,0
	INC R1
	PAGESEL __R2PCL
	CALL __R2PCL
	PAGESEL $
	ADD R0,#(_TOUCH_CH_TRS_EN+0)
	BANKSEL _TOUCH_CH_TRS_EN
	LD R1,[R0]
	XOR R1,#0x00
	JNB PSW,2
	JMP Label_x_y_z_a
	
;	::->op :*  =
;	.line	64; "../debug_touch.c"	CLK_SET_IN;
	BANKSEL	_TR0_bits
	SET	_TR0_bits, 0
;	::->op :*  =
;	.line	65; "../debug_touch.c"	DAT_SET_IN;
	BANKSEL	_TR0_bits
	SET	_TR0_bits, 1
;	::->op : SEND
;	::->op : CALL
;	.line	66; "../debug_touch.c"	Touch_Delay1;
	MOV	R0,# 0x05
	BANKSEL	STK00
	MOV	STK00, R0
	MOV	R0,# 0x00
	PAGESEL	_delay_us
	CALL	_delay_us
	PAGESEL	$
;	::->op : GET_VALUE_AT_ADDRESS
;	.line	70; "../debug_touch.c"	if(CLK_GET_STATE)
	BANKSEL	_P0_bits
	JB	_P0_bits, 0
	JMP	_00007_DS_
;	::->op : SEND
;	::->op : CALL
;	.line	72; "../debug_touch.c"	Touch_Delay1;
	MOV	R0,# 0x05
	BANKSEL	STK00
	MOV	STK00, R0
	MOV	R0,# 0x00
	PAGESEL	_delay_us
	CALL	_delay_us
	PAGESEL	$
;	::->op : GET_VALUE_AT_ADDRESS
;	.line	73; "../debug_touch.c"	if(!CLK_GET_STATE)
	BANKSEL	_P0_bits
	JNB	_P0_bits, 0
	JMP	_00008_DS_
;	::->op : RETURN
;	.line	74; "../debug_touch.c"	return;
	JMP	_00045_DS_
;	::->op : LABEL
;	::->op : GET_VALUE_AT_ADDRESS
_00007_DS_
;	.line	76; "../debug_touch.c"	else if(!CLK_GET_STATE)
	BANKSEL	_P0_bits
	JNB	_P0_bits, 0
	JMP	_00004_DS_
;	::->op : RETURN
;	.line	78; "../debug_touch.c"	return;
	JMP	_00045_DS_
;	::->op : LABEL
;	::->op : RETURN
_00004_DS_
;	.line	81; "../debug_touch.c"	return;
	JMP	_00045_DS_
;	::->op : LABEL
;	::->op :*  =
_00008_DS_
;	.line	83; "../debug_touch.c"	CLK_SET_OUT;
	BANKSEL	_TR0_bits
	CLR	_TR0_bits, 0
;	::->op :*  =
;	.line	85; "../debug_touch.c"	CLK_SET_LOW;
	BANKSEL	_P0LR_bits
	CLR	_P0LR_bits, 0
;	::->op : SEND
;	::->op : CALL
;	.line	86; "../debug_touch.c"	Touch_Delay1;
	MOV	R0,# 0x05
	BANKSEL	STK00
	MOV	STK00, R0
	MOV	R0,# 0x00
	PAGESEL	_delay_us
	CALL	_delay_us
	PAGESEL	$
;	::->op :*  =
;	.line	88; "../debug_touch.c"	CLK_SET_HIGH;		//
	BANKSEL	_P0LR_bits
	SET	_P0LR_bits, 0
;	::->op : SEND
;	::->op : CALL
;	.line	90; "../debug_touch.c"	Touch_Delay1;
	MOV	R0,# 0x05
	BANKSEL	STK00
	MOV	STK00, R0
	MOV	R0,# 0x00
	PAGESEL	_delay_us
	CALL	_delay_us
;	.line	92; "../debug_touch.c"	if(!DAT_GET_STATE)
	PAGESEL	$
;	.line	94; "../debug_touch.c"	return;
	BANKSEL	_P0_bits
	JB	_P0_bits, 1
;	.line	97; "../debug_touch.c"	CLK_SET_LOW;			//½
	JMP	_00045_DS_
	BANKSEL	_P0LR_bits
	CLR	_P0LR_bits, 0
;	.line	100; "../debug_touch.c"	Touch_Delay1;
	MOV	R0,# 0x05
	BANKSEL	STK00
	MOV	STK00, R0
	MOV	R0,# 0x00
	PAGESEL	_delay_us
	CALL	_delay_us
	PAGESEL	$
;	::->op :*  =
;	.line	102; "../debug_touch.c"	DAT_SET_OUT;
	BANKSEL	_TR0_bits
	CLR	_TR0_bits, 1
;	::->op : =
;	.line	104; "../debug_touch.c"	j=5;
	MOV	R0,# 0x05
	BANKSEL	r0x1002
	MOV	r0x1002, R0
;	::->op : =
;	.line	106; "../debug_touch.c"	for(step=0;step<5;step++)
	BANKSEL	r0x1003
	CLR	r0x1003
;	::->op : LABEL
;	::->op : <
;unsigned compare: left < lit(0x5=5), size=1
_00037_DS_
	MOV	R0,# 0x05
	BANKSEL	r0x1003
	SUB	R0, r0x1003
;comparing bytes at offset 0
	JNB	PSW, 0
	JMP	_00040_DS_
;	::->op : >
;swapping arguments (AOP_TYPEs 1/2)
;unsigned compare: left >= lit(0x5=5), size=1
;	.line	108; "../debug_touch.c"	switch(step)
	MOV	R0,# 0x05
	BANKSEL	r0x1003
	SUB	R0, r0x1003
;comparing bytes at offset 0
	JNB	PSW, 0
	JMP	_00016_DS_
;	::->op : JUMPTABLE
	MOV	R0,#high _00067_DS_
	MOV	PCH, R0
	MOV	R0,#_00067_DS_
	BANKSEL	r0x1003
	ADD	R0, r0x1003
	JNB	PSW, 0
	INC	PCH
	MOV	PCL, R0
_00067_DS_
	JMP	_00011_DS_
	JMP	_00012_DS_
	JMP	_00013_DS_
	JMP	_00014_DS_
	JMP	_00015_DS_
;	::->op : LABEL
;	::->op : =
_00011_DS_
;	.line	112; "../debug_touch.c"	j=5;
	MOV	R0,# 0x05
	BANKSEL	r0x1002
	MOV	r0x1002, R0
;	::->op : INLINEASM
	BANKSEL __KF8_LIBc_channel_
	MOV R0, __KF8_LIBc_channel_
	ADD R0,#Low(__KF8_TOUCH_CH_EN+0)
	MOV R1,#High(__KF8_TOUCH_CH_EN+0)
	JNB PSW,0
	INC R1
	MOV PCH,R1
	PAGESEL __R2PCL
	CALL __R2PCL
	PAGESEL $
	BANKSEL _T_buf
	MOV _T_buf,R0
	
;	::->op : GOTO
;	.line	131; "../debug_touch.c"	}break;
	JMP	_00016_DS_
;	::->op : LABEL
;	::->op : =
_00012_DS_
;	.line	135; "../debug_touch.c"	j=8;
	MOV	R0,# 0x08
	BANKSEL	r0x1002
	MOV	r0x1002, R0
;	::->op : INLINEASM
	BANKSEL __KF8_LIBc_channel_
	CLR PSW,0
	RLCR __KF8_LIBc_channel_
	BANKSEL __KF8_LIBi_buff_baseline_
	ADD R0,#(__KF8_LIBi_buff_baseline_+0)
	LD R1,[R0]
	BANKSEL _T_buf
	MOV _T_buf,R1
	
;	::->op : GOTO
;	.line	150; "../debug_touch.c"	}break;
	JMP	_00016_DS_
;	::->op : LABEL
;	::->op : =
_00013_DS_
;	.line	154; "../debug_touch.c"	j=8;
	MOV	R0,# 0x08
	BANKSEL	r0x1002
	MOV	r0x1002, R0
;	::->op : INLINEASM
	BANKSEL __KF8_LIBc_channel_
	CLR PSW,0
	RLCR __KF8_LIBc_channel_
	BANKSEL __KF8_LIBi_buff_baseline_
	ADD R0,#(__KF8_LIBi_buff_baseline_+1)
	LD R1,[R0]
	BANKSEL _T_buf
	MOV _T_buf,R1
	
;	::->op : GOTO
;	.line	171; "../debug_touch.c"	}break;
	JMP	_00016_DS_
;	::->op : LABEL
;	::->op : =
_00014_DS_
;	.line	175; "../debug_touch.c"	j=8;
	MOV	R0,# 0x08
	BANKSEL	r0x1002
	MOV	r0x1002, R0
;	::->op : INLINEASM
	BANKSEL __KF8_LIBc_channel_
	CLR PSW,0
	RLCR __KF8_LIBc_channel_
	BANKSEL __KF8_LIBi_buff_hit_
	ADD R0,#(__KF8_LIBi_buff_hit_+0)
	LD R1,[R0]
	BANKSEL _T_buf
	MOV _T_buf,R1
	
;	::->op : GOTO
;	.line	191; "../debug_touch.c"	}break;
	JMP	_00016_DS_
;	::->op : LABEL
;	::->op : =
_00015_DS_
;	.line	195; "../debug_touch.c"	j=8;
	MOV	R0,# 0x08
	BANKSEL	r0x1002
	MOV	r0x1002, R0
;	::->op : INLINEASM
	BANKSEL __KF8_LIBc_channel_
	CLR PSW,0
	RLCR __KF8_LIBc_channel_
	BANKSEL __KF8_LIBi_buff_hit_
	ADD R0,#(__KF8_LIBi_buff_hit_+1)
	LD R1,[R0]
	BANKSEL _T_buf
	MOV _T_buf,R1
	
;	::->op : LABEL
;	::->op : =
_00016_DS_
;	.line	213; "../debug_touch.c"	for(i_T_D=0;i_T_D<j;i_T_D++)
	BANKSEL	_i_T_D
	CLR	_i_T_D
;	::->op : LABEL
;	::->op : <
_00033_DS_
	BANKSEL	r0x1002
	MOVZ	R0, r0x1002
	BANKSEL	_i_T_D
	SUB	R0, _i_T_D
;comparing bytes at offset 0
	JNB	PSW, 0
	JMP	_00036_DS_
;	::->op : BITWISEAND
;	.line	215; "../debug_touch.c"	if(T_buf&0x01)
	BANKSEL	_T_buf
	JB	_T_buf, 0
	JMP	_00018_DS_
;	::->op :*  =
;	.line	216; "../debug_touch.c"	DAT_SET_HIGH;
	BANKSEL	_P0LR_bits
	SET	_P0LR_bits, 1
;	::->op : GOTO
	JMP	_00019_DS_
;	::->op : LABEL
;	::->op :*  =
_00018_DS_
;	.line	218; "../debug_touch.c"	DAT_SET_LOW;
	BANKSEL	_P0LR_bits
	CLR	_P0LR_bits, 1
;	::->op : LABEL
;	::->op :*  =
_00019_DS_
;	.line	220; "../debug_touch.c"	CLK_SET_HIGH;
	BANKSEL	_P0LR_bits
	SET	_P0LR_bits, 0
;	::->op : SEND
;	::->op : CALL
;	.line	221; "../debug_touch.c"	Touch_Delay1;
	MOV	R0,# 0x05
	BANKSEL	STK00
	MOV	STK00, R0
	MOV	R0,# 0x00
	PAGESEL	_delay_us
	CALL	_delay_us
	PAGESEL	$
;	::->op :*  =
;	.line	223; "../debug_touch.c"	CLK_SET_LOW;
	BANKSEL	_P0LR_bits
	CLR	_P0LR_bits, 0
;	::->op : SEND
;	::->op : CALL
;	.line	224; "../debug_touch.c"	Touch_Delay1;
	MOV	R0,# 0x05
	BANKSEL	STK00
	MOV	STK00, R0
	MOV	R0,# 0x00
	PAGESEL	_delay_us
	CALL	_delay_us
	PAGESEL	$
;	::->op : RIGHT_OP
;	.line	226; "../debug_touch.c"	T_buf=T_buf>>1;
	CLR	PSW, 0
	BANKSEL	_T_buf
	RRC	_T_buf
;	::->op : +
;	.line	213; "../debug_touch.c"	for(i_T_D=0;i_T_D<j;i_T_D++)
	BANKSEL	_i_T_D
	INC	_i_T_D
;	::->op : GOTO
	JMP	_00033_DS_
;	::->op : LABEL
;	::->op : SEND
;	::->op : CALL
_00036_DS_
;	.line	229; "../debug_touch.c"	Touch_Delay2;
	MOV	R0,# 0x6e
	BANKSEL	STK00
	MOV	STK00, R0
	MOV	R0,# 0x00
	PAGESEL	_delay_us
	CALL	_delay_us
	PAGESEL	$
;	::->op : +
;	.line	106; "../debug_touch.c"	for(step=0;step<5;step++)
	BANKSEL	r0x1003
	INC	r0x1003
;	::->op : GOTO
	JMP	_00037_DS_
;	::->op : LABEL
;	::->op :*  =
_00040_DS_
;	.line	233; "../debug_touch.c"	DAT_SET_IN;
	BANKSEL	_TR0_bits
	SET	_TR0_bits, 1
;	::->op : SEND
;	::->op : CALL
;	.line	234; "../debug_touch.c"	Touch_Delay2;	//жҪʱ
	MOV	R0,# 0x6e
	BANKSEL	STK00
	MOV	STK00, R0
	MOV	R0,# 0x00
	PAGESEL	_delay_us
	CALL	_delay_us
	PAGESEL	$
;	::->op :*  =
;	.line	236; "../debug_touch.c"	CLK_SET_HIGH;
	BANKSEL	_P0LR_bits
	SET	_P0LR_bits, 0
;	::->op : SEND
;	::->op : CALL
;	.line	237; "../debug_touch.c"	Touch_Delay1;
	MOV	R0,# 0x05
	BANKSEL	STK00
	MOV	STK00, R0
	MOV	R0,# 0x00
	PAGESEL	_delay_us
	CALL	_delay_us
	PAGESEL	$
;	::->op : SEND
;	::->op : CALL
;	.line	238; "../debug_touch.c"	Touch_Delay1;
	MOV	R0,# 0x05
	BANKSEL	STK00
	MOV	STK00, R0
	MOV	R0,# 0x00
	PAGESEL	_delay_us
	CALL	_delay_us
	PAGESEL	$
;	::->op : SEND
;	::->op : CALL
;	.line	239; "../debug_touch.c"	Touch_Delay1;
	MOV	R0,# 0x05
	BANKSEL	STK00
	MOV	STK00, R0
	MOV	R0,# 0x00
	PAGESEL	_delay_us
	CALL	_delay_us
	PAGESEL	$
;	::->op : GET_VALUE_AT_ADDRESS
;	.line	242; "../debug_touch.c"	if(DAT_GET_STATE)
	BANKSEL	_P0_bits
	JB	_P0_bits, 1
	JMP	_00031_DS_
;	::->op :*  =
;	.line	244; "../debug_touch.c"	CLK_SET_LOW;
	BANKSEL	_P0LR_bits
	CLR	_P0LR_bits, 0
;	::->op : =
;	.line	245; "../debug_touch.c"	T_buf=0;
	BANKSEL	_T_buf
	CLR	_T_buf
;	::->op : SEND
;	::->op : CALL
;	.line	246; "../debug_touch.c"	Touch_Delay1;
	MOV	R0,# 0x05
	BANKSEL	STK00
	MOV	STK00, R0
	MOV	R0,# 0x00
	PAGESEL	_delay_us
	CALL	_delay_us
	PAGESEL	$
;	::->op : =
;	.line	247; "../debug_touch.c"	for(i_T_D=0;i_T_D<6;i_T_D++)
	BANKSEL	_i_T_D
	CLR	_i_T_D
;	::->op : LABEL
;	::->op : <
;unsigned compare: left < lit(0x6=6), size=1
_00041_DS_
	MOV	R0,# 0x06
	BANKSEL	_i_T_D
	SUB	R0, _i_T_D
;comparing bytes at offset 0
	JNB	PSW, 0
	JMP	_00032_DS_
;	::->op :*  =
;	.line	249; "../debug_touch.c"	CLK_SET_HIGH;
	BANKSEL	_P0LR_bits
	SET	_P0LR_bits, 0
;	::->op : SEND
;	::->op : CALL
;	.line	250; "../debug_touch.c"	Touch_Delay1;
	MOV	R0,# 0x05
	BANKSEL	STK00
	MOV	STK00, R0
	MOV	R0,# 0x00
	PAGESEL	_delay_us
	CALL	_delay_us
	PAGESEL	$
;	::->op : EQ_OP
;	.line	252; "../debug_touch.c"	if(i_T_D!=5)
	BANKSEL	_i_T_D
	MOVZ	R0, _i_T_D
;	.line	254; "../debug_touch.c"	T_buf=T_buf>>1;
	XOR	R0,# 0x05
	JNB	PSW, 2
	JMP	_00028_DS_
	CLR	PSW, 0
	BANKSEL	_T_buf
	RRC	_T_buf
;	::->op : GET_VALUE_AT_ADDRESS
;	.line	255; "../debug_touch.c"	if(DAT_GET_STATE)
	BANKSEL	_P0_bits
	JB	_P0_bits, 1
	JMP	_00029_DS_
;	::->op : |
;	.line	256; "../debug_touch.c"	T_buf=T_buf|0x10;
	BANKSEL	_T_buf
	SET	_T_buf, 4
;	::->op : GOTO
	JMP	_00029_DS_
;	::->op : LABEL
;	::->op : <
;unsigned compare: left < lit(0x16=22), size=1
_00028_DS_
;	.line	260; "../debug_touch.c"	if(T_buf<22)   //ģ·Ӱ
	MOV	R0,# 0x16
	BANKSEL	_T_buf
	SUB	R0, _T_buf
;comparing bytes at offset 0
	JNB	PSW, 0
	JMP	_00029_DS_
;	::->op : GET_VALUE_AT_ADDRESS
;	.line	262; "../debug_touch.c"	if(DAT_GET_STATE)
	BANKSEL	_P0_bits
	JB	_P0_bits, 1
	JMP	_00023_DS_
;	::->op : INLINEASM
	BANKSEL _T_buf
	MOV R0,_T_buf
	ADD R0,#(_TOUCH_CH_TRS_EN+0)
	MOV R1,#0x01
	BANKSEL _TOUCH_CH_TRS_EN
	ST [R0],R1
	
;	::->op : GOTO
	JMP	_00029_DS_
;	::->op : LABEL
;	::->op : INLINEASM
_00023_DS_
	BANKSEL _T_buf
	MOV R0,_T_buf
	ADD R0,#(_TOUCH_CH_TRS_EN+0)
	MOV R1,#0x00
	BANKSEL _TOUCH_CH_TRS_EN
	ST [R0],R1
	
;	::->op : LABEL
;	::->op :*  =
_00029_DS_
;	.line	288; "../debug_touch.c"	CLK_SET_LOW;
	BANKSEL	_P0LR_bits
	CLR	_P0LR_bits, 0
;	::->op : SEND
;	::->op : CALL
;	.line	289; "../debug_touch.c"	Touch_Delay1;
	MOV	R0,# 0x05
	BANKSEL	STK00
	MOV	STK00, R0
	MOV	R0,# 0x00
	PAGESEL	_delay_us
	CALL	_delay_us
	PAGESEL	$
;	::->op : +
;	.line	247; "../debug_touch.c"	for(i_T_D=0;i_T_D<6;i_T_D++)
	BANKSEL	_i_T_D
	INC	_i_T_D
;	::->op : GOTO
	JMP	_00041_DS_
;	::->op : LABEL
;	::->op :*  =
_00031_DS_
;	.line	294; "../debug_touch.c"	CLK_SET_LOW;
	BANKSEL	_P0LR_bits
	CLR	_P0LR_bits, 0
;	::->op : SEND
;	::->op : CALL
;	.line	295; "../debug_touch.c"	Touch_Delay1;
	MOV	R0,# 0x05
	BANKSEL	STK00
	MOV	STK00, R0
	MOV	R0,# 0x00
	PAGESEL	_delay_us
	CALL	_delay_us
	PAGESEL	$
;	::->op : LABEL
;	::->op :*  =
_00032_DS_
;	.line	298; "../debug_touch.c"	CLK_SET_IN;
	BANKSEL	_TR0_bits
	SET	_TR0_bits, 0
;	::->op :*  =
;	.line	299; "../debug_touch.c"	DAT_SET_IN;
	BANKSEL	_TR0_bits
	SET	_TR0_bits, 1
;	::->op : INLINEASM
Label_x_y_z_a:
	
;	::->op : LABEL
;	::->op : ENDFUNCTION
_00045_DS_
	CRET	
; exit point of _TOUCH_DEBUG_TRS_DEAL


;	code size estimation:
;	  205+   67 =   272 instructions (  678 byte)


	.end
